<?php
function createThumbnail($imageDirectory, $imageName, $thumbDirectory, $thumbWidth, $quality){
    $details = getimagesize("$imageDirectory/$imageName") or die('Please only upload images.');
    $type = preg_replace('@^.+(?<=/)(.+)$@', '$1', $details['mime']);
    eval('$srcImg = imagecreatefrom'.$type.'("$imageDirectory/$imageName");');
    $thumbHeight = $details[1] * ($thumbWidth / $details[0]);
    $thumbImg = imagecreatetruecolor($thumbWidth, $thumbHeight);
    imagecopyresampled($thumbImg, $srcImg, 0, 0, 0, 0, $thumbWidth, $thumbHeight,
        $details[0], $details[1]);
    eval('image'.$type.'($thumbImg, "$thumbDirectory/$imageName"'.
        (($type=='jpeg')?', $quality':'').');');
    imagedestroy($srcImg);
    imagedestroy($thumbImg);
}

foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "data/$name");
        createThumbnail("/location/of/main/image", $name, "/location/to/store/thumb", 120, 80);
        //120 = thumb width  ::  80 = thumb quality (1-100)
    }
}